import pandas as pd
import akshare as ak
import PyQt5
import matplotlib

matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt

matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 设置中文字体
matplotlib.rcParams["axes.unicode_minus"] = False  # 解决负号显示问题

# 获取贵州茅台近2025的日线数据
df = ak.stock_zh_a_hist(symbol="600722", period="daily",
                        start_date="20230101", end_date="20231231", adjust="qfq")

# 将日期列转换为datetime类型
df['日期'] = pd.to_datetime(df['日期'])

# 设置中文字体
plt.rcParams['font.family'] = 'FangSong'  # 设置中文字体，可以支持中文显示
plt.rcParams["axes.unicode_minus"] = False  # 解决负号显示问题

# 计算移动平均线
df['MA5'] = df['收盘'].rolling(window=5).mean()
df['MA20'] = df['收盘'].rolling(window=20).mean()

# 绘制收盘价和移动平均线
plt.figure(figsize=(12, 6))
plt.plot(df['日期'], df['收盘'], label='收盘价')
plt.plot(df['日期'], df['MA5'], label='5日均线')
plt.plot(df['日期'], df['MA20'], label='20日均线')
plt.title('金牛化工(600722) 2023年价格与均线走势图')
plt.xlabel('日期')
plt.ylabel('价格(元)')
plt.grid(True)
plt.legend()
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
